package com.billiards.controller;

import com.billiards.entity.Ball;
import com.billiards.entity.BallAppt;
import com.billiards.entity.User;
import com.billiards.service.BallApptService;
import com.billiards.service.BallService;
import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class BallApptController {
    @Autowired
    private BallApptService ballApptService;

//    @PostMapping("/addBallAppt")
//    public ResponseEntity<?> addBallAppt(@RequestParam String ballname,
//                                         @RequestParam String ballstate,
//                                         @RequestParam String memo,
//                                         @RequestParam String duration,
//                                         @RequestParam("image") MultipartFile image) {
//        try {
//            BallAppt ballAppt = new BallAppt();
//            ballAppt.setBallname(ballname);
//            ballAppt.setBallstete(ballstate);
//            ballAppt.setMemo(memo);
//            ballAppt.setDuration(duration);
//
//            // 处理图片上传，这里只是示例，你需要根据实际情况实现图片存储和路径保存
//            // 假设saveImage方法会返回图片的路径或者将图片转换为byte数组并设置到ballAppt.image中
//            // String imagePath = saveImage(image); // 示例：保存图片并返回路径
//            // ballAppt.setImage(imageToBytes(image)); // 示例：将图片转换为byte数组
//
//            boolean success = ballApptService.addBallAppt(ballAppt);
//
//            if (success) {
//                return new ResponseEntity<>("增加成功", HttpStatus.OK);
//            } else {
//                return new ResponseEntity<>("增加失败", HttpStatus.INTERNAL_SERVER_ERROR);
//            }
//        } catch (Exception e) {
//            return new ResponseEntity<>("上传失败，请检查网络连接或稍后重试", HttpStatus.INTERNAL_SERVER_ERROR);
//        }
//    }
//
//    // 假设的saveImage和imageToBytes方法，你需要根据实际情况实现它们
//    private String saveImage(MultipartFile image) {
//        // 实现图片保存逻辑，并返回图片路径或ID等
//        return "path/to/saved/image.jpg"; // 示例返回路径
//    }
//
//    private byte[] imageToBytes(MultipartFile image) {
//        // 将MultipartFile转换为byte数组
//        // ... 实现转换逻辑
//        return new byte[0]; // 示例返回空数组
//    }
//
//









    @RequestMapping("/getBallApptList")
    public List<BallAppt> getBallApptList(){
        return ballApptService.getBallApptList();
    }

    @GetMapping("/getBallApptballname")
    public List<BallAppt> getBallApptballname (String ballname){
        return ballApptService.getBallApptballname(ballname);
    }

    @PostMapping("/updateBallAppt")
    public void updateBallAppt(@RequestBody BallAppt ballAppt){
        System.out.println("==================");
        System.out.println(ballAppt);
        ballApptService.updateBallAppt(ballAppt);
    }
    @PostMapping("/updateAddBallAppt")
    public int updateAddBallAppt(@RequestBody BallAppt ballAppt){
        System.out.println("==================");
        System.out.println(ballAppt);
        return ballApptService.updateAddBallAppt(ballAppt);
    }

    @PostMapping("/addBallAppt")
    public int addAppt(@RequestBody BallAppt ballAppt){

        System.out.println("===========");
        System.out.println(ballAppt);
        return ballApptService.addAppt(ballAppt);
    }

    @GetMapping("/deleteBallAppt")
    public int deleteBallAppt(int id){
        return ballApptService.deleteBallAppt(id);
    }







//    搜索用户找到信息

    @GetMapping("/getBallApptusername")
    public List<BallAppt> getBallApptusername (String username ){
        return ballApptService.getBallApptusername(username) ;
    }
}
